The present invention is directed to a method and apparatus for reducing the load on hardware in a display system. More particularly, the present invention is directed to a method and apparatus for culling polygons from display data prior to rasterization of the display data.
Computer graphics processing devices have become more and more powerful with the result being that more and more complex graphics capabilities are being provided to enable the display of more and more complex visual data.
These complex graphical devices generate displays on a frame by frame basis. Each frame includes display data information for the picture elements or pixels of the display. In known systems graphics display data is provided as a plurality of polygons (often triangles) of display information dispersed across the pixels of the display. For instance, a picture of a house which might be shown on a display, such as shown in FIG. 1, would be constituted by thousands of tiny polygons having certain textural characteristics. The polygons are positioned on the display in accordance with the pixels to which they correspond. For example, FIG. 6 of the present application shows a block diagram of a high level representation of a number of elements utilized in displaying an image constituted by a plurality of these tiny polygons. In particular, a geometry engine 601 provides the polygon information along with space coordinate information for each of the polygons. A rasterizer 602 takes the polygon information and the space coordinate information and processes it so as to drive the display to appropriately place the polygon to cover picture elements on the display in the correct locations. Those skilled in the art should appreciate the fact that a rasterizer can be constituted by a number of rasterizer subsystems each responsible for rasterizing different portions of the display. The use of the term rasterizer throughout this specification is to intended to cover the single or multiple rasterizer component systems.
As graphics processing devices have become faster and faster, the amount of information which can be displayed over the course of a frame has grown dramatically. More and more polygons of visual data can be processed and rasterized. For example, regarding the picture of the house shown in FIG. I the display system could provide not only a display of the exterior of the house, but could also write the polygon information for the interior portions of the house or even for the area behind the house during the processing of a frame of information. The closer parts of the view of the image occlude, however, the back portions of the image, that is the exterior walls closer in view occlude the interior portions of the illustrated house. Displaying an image in this manner wastes hardware resources as the graphics machine expends computational power on display fragments that will not be seen. It would be beneficial if graphics devices could detect certain occlusion parameters with respect to a frame of information and utilize those occlusion parameters to reduce the waste of hardware resources. It would be especially beneficial if a small number of parameters could be used to avoid accessing the visibility information, such as depth values, that may be stored in conjunction with each picture element.